/*
 * * * * * * * * * * LICENCIA * * * * * * * * * * * * * * * * * * * * *

Copyright(C) 2012
docente Universtiario de Tecnología Dr. Federico Rivero Palacio

Este programa es Software Libre y usted puede redistribuirlo y/o modificarlo
bajo los términos de la versión 3.0 de la Licencia Pública General (GPLv3)
publicada por la Free Software Foundation (FSF), es distribuido sin ninguna
garantía. Usted debe haber recibido una copia de la GPLv3 junto con este
programa, sino, puede encontrarlo en la página web de la FSF, 
específicamente en la dirección http://www.gnu.org/licenses/gpl-3.0.html

 * * * * * * * * * * ARCHIVO * * * * * * * * * * * * * * * * * * * * *

Nombre: docente.js
Diseñador: Johan Alamo (johan.alamo@gmail.com)
Programador: Johan Alamo
Fecha: Agosto de 2012
Descripción:  
	Este archivo contiene los códigos javascript necesarios y particulares
	del módulo docente, debe ser incluido en todas las vistas de este
	módulo. Contiene básicamente validaciones y configuraciones iniciales
	para llevar a cabo las acciones propias de este módulo tales como 
	agregar, modificar, eliminar, cosultar y listar docentes

 * * * * * * * * Cambios/Mejoras/Correcciones/Revisiones * * * * * * * *
Diseñador - Programador /   Fecha   / Descripción del cambio
---                         ----      ---------

 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*/




/* 	Función que permite chequear si la data de un formulario es vÃ¡lida,
   especÃ­ficamente chequea que el nombre corto ni el nombre no estÃ©n vacÃ­os
   y que el nombre corto, nombre y direccion no excedan de 20, 100 y 100
   caracteres respectivamente.
	Es utilizado principalmente cuando se agrega o modifica un docente
   Valor de retorno:
     true: si el formulario esta correctamente lleno
     false: en caso de no tener el formato correcto
*/
function esFormularioValido(){
	var valido = true;
	var obligatorio = $('.obligatorio');
	obligatorio.each(function(index){
	var elem = $(this);
	if ((elem.val() == "") || (elem.hasClass('obligatorioVacio'))){		
		elem.addClass('obligatorioVacio');					
		valido = false;
	}
	else
		elem.removeClass('obligatorioVacio');
	});			
// Si valido == false no se hace la llamada al servidor, se evita el PostBack
// Si no hay return o valido == true se hace la llamada al servidor
	return valido;	
}

/*Permite mejorar el formato de los campos llenados por el usuario
  nombre corto: quita espacios iniciales y finales y lo coloca en mayúscula
  nombre: quita espacios iniciales y finales
  direccion: quita espacios iniciales y finales
*/
function ajustarCampos(){
	document.frmdocente.nombre1.value 		= document.frmdocente.nombre1.value.trim();
	document.frmdocente.nombre2.value 		= document.frmdocente.nombre2.value.trim();
	document.frmdocente.apellido1.value 	= document.frmdocente.apellido1.value.trim();
	document.frmdocente.apellido2.value 	= document.frmdocente.apellido2.value.trim();
	document.frmdocente.fecNacimiento.value = document.frmdocente.fecNacimiento.value.trim();
	document.frmdocente.cedula.value		= document.frmdocente.cedula.value.trim();
	document.frmdocente.rif.value 			= document.frmdocente.rif.value.trim();
	document.frmdocente.telefono1.value 	= document.frmdocente.telefono1.value.trim();
	document.frmdocente.telefono2.value 	= document.frmdocente.telefono2.value.trim();
	document.frmdocente.direccion.value 	= document.frmdocente.direccion.value.trim();
	document.frmdocente.correoPersonal.value	= document.frmdocente.correoPersonal.value.trim();
	document.frmdocente.correoInstitucional.value	= document.frmdocente.correoInstitucional.value.trim();	
	document.frmdocente.numEmpleado.value 		= document.frmdocente.numEmpleado.value.trim();
}

/*Función que permite llenar los campos del formulario según la acción a
  emprender. 
    coloca los valores de modulo, accion y tipoVista en 'docente', 
    'premodificar' y 'computador' respectivamente y además configura
    el código del docente que va a ser modificado. Luego esto se envía
    al servidor
  Parámetros de entrada:
    codigo: código del docente a ser modificado
*/


function docentePremodificar(codigo)
{
		document.frmdocente.modulo.value = 'docente';
		document.frmdocente.submodulo.value = 'fotografia';
		document.frmdocente.accion.value = 'premodificar';	
		document.frmdocente.subaccion.value = 'premodificar';	
		document.frmdocente.tipoVista.value = 'computador';	
		document.frmdocente.codigo.value = codigo;
		document.frmdocente.submit();
}


/*Después de hacer las modificaciones al docente en la vista correspondiente
  se procede a enviar esta data al servidor, configurando el módulo, la 
  acción y el tipo de vista utilizada. También se valida el formulario y 
  en caso de no tener el formato correcto se da un mensaje al usuario
*/
function docenteModificar()
{
		document.frmdocente.modulo.value = 'docente';
		document.frmdocente.submodulo.value = 'fotografia';
		document.frmdocente.accion.value = 'modificar';	
		document.frmdocente.subaccion.value = 'modificar';
		document.frmdocente.tipoVista.value = 'computador';	
		
			if  ( confirm ("¿Está seguro que desea realizar la modificación? \n\n " )  )
			document.frmdocente.submit();
	
}

/*Permite configurar el formulario para indicarle al servidor que se debe
  mostrar la información completa de un docente, en este caso el módulo,
  la acción, el tipo de vista y el código del docente a mostrar
*/
function docenteMostrar(codigo)
{
	document.frmdocente.modulo.value = 'docente';
	document.frmdocente.submodulo.value = 'fotografia';
	document.frmdocente.accion.value = 'mostrar';
	document.frmdocente.subaccion.value = 'mostrar';
	document.frmdocente.tipoVista.value = 'computador';	
	document.frmdocente.codigo.value = codigo;
	document.frmdocente.submit();
}

/*Permite configurar el formulario para indicarle al servidor que debe
  emprender la acción 'eliminar' docente. Sin embargo, pide un mensaje
  de confirmación al usuario antes de ejecutar la acción y luego envía 
  al servidor
  Parámetros de entrada:
    codigo: Código del docente a eliminar
    nombre: nombre del docente a eliminar, utilizado principalmente
           para mostrarle el nombre al usuario al momento de la confirmación
*/
function docenteEliminar(codigo, nombre)
{	document.frmdocente.modulo.value = 'docente';
	document.frmdocente.submodulo.value = 'fotografia';
	document.frmdocente.accion.value = 'eliminar';
	document.frmdocente.subaccion.value = 'eliminar';
	document.frmdocente.tipoVista.value = 'computador';	
	document.frmdocente.codigo.value = codigo;

	if  ( confirm("¿Está seguro que desea eliminar el siguiente docente?\n\n " 
	              + nombre
	              )
	    )
			document.frmdocente.submit();
}


/*configura los parámetros para listar todos los docentes y envía 
  al servidor
*/

function docenteListar()
{		
		document.frmdocente.modulo.value = 'docente';
		document.frmdocente.accion.value = 'listar';	
		document.frmdocente.tipoVista.value = 'computador';	
		document.frmdocente.submit();
}

/*Configura el formulario para ejecutar la acción 'preagregar' y envía 
  al servidor
*/
function docentePreagregar()
{
	document.frmdocente.modulo.value = 'docente';
	document.frmdocente.accion.value = 'preagregar';	
	document.frmdocente.tipoVista.value = 'computador';	
	document.frmdocente.submit();	
}	

/*Configura el formulario para ejecutar la acción 'agregar' y además 
  envía todos los datos del docente a agregar. También valida el 
  formulario antes de hacer el envío.
*/
function docenteAgregar(){
	
	ajustarCampos();
	if(esFormularioValido()){
		document.frmdocente.modulo.value = 'docente';
		document.frmdocente.submodulo.value = 'fotografia';
		document.frmdocente.accion.value = 'agregar';	
		document.frmdocente.subaccion.value = 'agregar';
		document.frmdocente.tipoVista.value = 'computador';	
		document.frmdocente.submit();
	}else{
		alert("No se ha podido guardar los datos, verifique lo siguiente:\n"
							+ "- Los campos obligatorios no pueden estar vacios.\n"
							+ "- Los campos no pueden tener ningun error.");
	}

		
}

function comprobarClave() { 
   	clave1 = document.frmdocente.contra1.value;  
   	clave2 = document.frmdocente.contra2.value;

   	if (clave1 != clave2) {
      	 alert("Las contraseñas no coinciden..!") 
      	}
}

	
